package clases;

import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="Cotizaciones")
public class Cotizacion {
	private int id;
	private Date fechaRecepcion; // fechaInicio, segun CPR
	private Date fechaValidez;	// fechaFin, segun CPR
	private String tiempoEntrega; // tiempoEstimadoDeEntrega, segun CPR
	private float precio;		// Precio, segun la CPR
	private String estadoCotizacion; // Por las dudas lo dejamos.
	private List  <CotizacionItem> itemsCotizacion;
	
	@Id
	@GeneratedValue
	@Column(name="ID")
	public int getId() {return id;}
	public void setId(int id) {this.id = id;}
	
	@Column(name="FECHARECEPCION")
	public Date getFechaRecepcion() {return fechaRecepcion;}
	public void setFechaRecepcion (Date fechaRecepcion) {this.fechaRecepcion = fechaRecepcion;}
	
	@Column(name="FECHAVALIDEZ")
	public Date getFechaValidez() {return fechaValidez;}
	public void setFechaValidez(Date fechaValidez) {this.fechaValidez = fechaValidez;}
	
	@Column(name="TIEMPOENTREGA")
	public String getTiempoEntrega() {return tiempoEntrega;}
	public void setTiempoEntrega(String tiempoEntrega) {this.tiempoEntrega = tiempoEntrega;}
	
	@Column(name="PRECIO")
	public float getPrecio() {return precio;}
	public void setPrecio(float precio) {this.precio = precio;}
	
	@Column(name="ESTADO")
	public String getEstadoCotizacion() {return estadoCotizacion;}
	public void setEstadoCotizacion(String estadoCotizacion) {this.estadoCotizacion = estadoCotizacion;}
	
	@OneToMany(mappedBy="cotizacion", fetch=FetchType.LAZY, cascade=(CascadeType.REMOVE))
	public List<CotizacionItem> getItemsCotizacion() {return itemsCotizacion;}
	public void setItemsCotizacion(List<CotizacionItem> itemsCotizacion) {this.itemsCotizacion = itemsCotizacion;}
}
